Functionality of computing devices, such as desktop PCs and portable computers, continues to increase at a rapid pace. Improvements in functional aspects such as processor unit speed and amount of data that may be stored by a memory have increased the functionality that may be offered to users of these computing devices. However, advances in one functional aspect may not correspond to advances achieved by other aspects, and may therefore limit the overall functionality of the computing device which is available to a user. For example, even though a processor unit has made great advances in the speed at which data processing may be performed, advances made in memories, such as random access memory (RAM) chips, have not had a corresponding increase in speed. Therefore, a memory operating at a slower speed than a processor unit may serve to limit actual functionality available from the processor unit. For instance, the processor unit may be forced to wait to read data for processing and/or write data that has been processed.
One way to increase the functionality of the processor unit is through the use of a cache memory. A cache memory may be configured as a semiconductor-based memory which is used to store data for use by the processor unit. By using a cache memory, a processor unit may perform tasks more rapidly by having quicker access to data, such as data for processing and instructions to be performed by the processor chip. For instance, a cache memory may be included on a processor chip which includes the processor unit. The cache memory may be accessed at a speed that more closely corresponds to the speed of the processor unit, and therefore may be accessed much more quickly than other types of memory, such as RAM. Therefore, the processor unit may encounter fewer delays when accessing the cache memory than when accessing data using other types of memory. Thus, a greater portion of the speed provided by the processor unit may be realized. Traditional uses of a cache memory, however, did not permit the processor unit to directly indicate to software executed on the processor unit whether data was stored in the cache memory.
Accordingly, there is a need for improved techniques for utilization of a cache memory.